//
// Created by DengLibin on 2018/12/8 0008.
//
/**
    const:伪常量,限定编译器尽量不修改
    int const a =2;
    const int b =3;//同上
    const char * p = NULL; //指针指向的变量不能通过指针修改，但指针可以被修改,防止通过指针修改内存的值
    char * const p = 100; //指针是常量不能被修改，但指针指向的内存空间能被修改（限定指针只能指向指定的内存空间）
    const char * const p = 200;//指针和指针指向的变量都是常量，都不能被修改
*/
#include <stdio.h>
int main5()
{
    const int num = 10;
    // num = 20; //编译报错
    const int *p1 = &num;

    //通过指针修改const修饰的变量
    int *p2 = (int *)p1;
    *p2 = 100;
    printf("%p,%d\n", p2, *p2);   // 100
    printf("%p,%d\n", &num, num); // 100
    return 0;
}